Matthias Clasen [Fri, 13 Jun 2014 18:42:38 +0000 (14:42 -0400)]
Adwaita: bring back the extra indirection
Without this, we are missing the 'Adwaita' component in the
path when resolving relative resources, and none of the assets
are found.
Matthias Clasen [Fri, 13 Jun 2014 18:16:37 +0000 (14:16 -0400)]
Try to fix the continuous build
Making gtk.gresource.xml generated was causing a problem for
srcdir!=builddir builds from git. Builds from tarballs are
not affected, because the tarball contains the generated file.
Matthias Clasen [Fri, 13 Jun 2014 18:03:52 +0000 (14:03 -0400)]
Add some EXEEXT decorations back
Might fix
https://bugzilla.gnome.org/show_bug.cgi?id=731602
Matthias Clasen [Fri, 13 Jun 2014 14:37:29 +0000 (10:37 -0400)]
Use Adwaita as the default theme
This ensures that GTK+ applications have a high-quality theme on
all platforms, and look consistent.
Matthias Clasen [Fri, 13 Jun 2014 14:32:44 +0000 (10:32 -0400)]
Include the Adwaita theme
This adds the resources for the Adwaita theme, and includes them
in libgtk, on all platforms.
Matthias Clasen [Fri, 13 Jun 2014 14:30:36 +0000 (10:30 -0400)]
Don't include the win32 theme on Linux
No need to carry around these resources when we are not
going to use them.
Matthias Clasen [Fri, 13 Jun 2014 14:24:30 +0000 (10:24 -0400)]
Generate gtk.gresource.xml
This will help when including Adwaita. It will also let us
drop the win32 theme on Linux, hopefully.
Matthias Clasen [Fri, 13 Jun 2014 13:28:27 +0000 (09:28 -0400)]
Rename cursor pngs to their resource name
This allows us to get rid of some aliases in the .gresource.xml.
Matthias Clasen [Fri, 13 Jun 2014 12:40:56 +0000 (08:40 -0400)]
Move theme resources into subdirectories
Preparing for Adwaita to come in here.
Matthias Clasen [Fri, 13 Jun 2014 02:29:31 +0000 (22:29 -0400)]
inspector: Allow Escape to cancel picking
Matthias Clasen [Fri, 13 Jun 2014 02:00:14 +0000 (22:00 -0400)]
inspector: Use a better icon for the picker
Recommended by Allan Day.
Matthias Clasen [Thu, 12 Jun 2014 22:46:50 +0000 (18:46 -0400)]
Trivial formatting fix
Carlos Garnacho [Thu, 12 Jun 2014 23:08:16 +0000 (01:08 +0200)]
gesturesingle: Implement GtkGesture::cancel better than GtkEventController:reset
The former can be called individually on each sequence, and the latter will
always call the former on all currently active sequences, so only implementing
resetting on cancel() works for both cases. Also, chain up on subclasses
implementing cancel.
This fixes clicking on nautilus' file list after popping up a menu, as broken
grabs are one of those situations where sequences get cancelled individually,
the "current button" wasn't properly reset, and further clicks with button != 3
were ignored.
Carlos Garnacho [Thu, 12 Jun 2014 21:18:54 +0000 (23:18 +0200)]
textview: Unobscure the mouse cursor on motion events
This used to be done before the gestures port, and was removed
accidentally, so keep the motion_notify_event handler just for
this, and fallback to having those events handled by gestures
too.
Dieter Verfaillie [Wed, 11 Jun 2014 20:16:36 +0000 (22:16 +0200)]
Fix gtk_selection_data_get_data annotations
The annotations were intended for the return
value, not the instance argument.
https://bugzilla.gnome.org/show_bug.cgi?id=731299
Dieter Verfaillie [Sun, 8 Jun 2014 21:39:50 +0000 (23:39 +0200)]
docs: remove mention of old GtkList and GtkCList
Reported by andlabs in irc://irc.gnome.org/gtk+
https://bugzilla.gnome.org/show_bug.cgi?id=731382
Daniel Mustieles [Thu, 12 Jun 2014 15:53:57 +0000 (17:53 +0200)]
Updated Spanish translation
Matthias Clasen [Thu, 12 Jun 2014 13:14:03 +0000 (09:14 -0400)]
Add a message-dialog style class
This helps in separating message dialogs from other dialogs,
theming-wise.
Matthias Clasen [Thu, 12 Jun 2014 13:09:30 +0000 (09:09 -0400)]
Add GTK_STYLE_CLASS_POPUP to the docs
Carlos Garnacho [Thu, 12 Jun 2014 13:17:47 +0000 (15:17 +0200)]
scrolledwindow: Deny scrolling sequences if pressed on the scrollbars
Scrollbars might be a bit too narrow for touch (and generally less useful
besides kinetic scrolling), but those should be functional nevertheless.
Carlos Garnacho [Thu, 12 Jun 2014 12:15:26 +0000 (14:15 +0200)]
window: Only claim a button=1 press sequence when dragging is about to happen
This way plain clicks can be handled in gtkmain through the usual delivery mechanism,
and get possibly handled too by widgets holding a GTK+ grab. If window dragging is to
be started, the sequence will be claimed (and a grab will happen afterwards), notifying
properly the grabbing widget that event delivery was interrupted.
This makes it possible to dismiss popovers by clicking on window headerbars, while
still making it possible to drag the window with the popover opened.
Sjoerd Simons [Sun, 8 Jun 2014 15:21:14 +0000 (17:21 +0200)]
wayland: Ensure the touch sequence pointer value is non-null
Weston numbers its touch sequences ids starting from 0, thus simply
setting the GtkEvents touch.sequence to the touch id value typically
causes gdk_event_get_event_sequence to return NULL. Unfortunately this
confuses other parts of GDK.
As both weston & mutter keep the sequence id between 0..max_dev_touches
-1 simply use + 1 to keep the id > 0. While this isn't entirely correct
(compositor could send -1 as the touch id), this keeps the touch id in
gtk tied to the touch id from weston which is useful for debugging. A
more thorough solution could be done when it turns out this is an issue
in practise
https://bugzilla.gnome.org/show_bug.cgi?id=731371
Benjamin Otte [Thu, 12 Jun 2014 10:28:07 +0000 (12:28 +0200)]
testsuite: Add a test for symbolic icons in specific sizes
Check that loading symbolics works, even if the symbolic is only
available in a fixed size.
Matthias Clasen [Thu, 12 Jun 2014 09:53:31 +0000 (05:53 -0400)]
widget-factory: Add some tooltips
Dieter Verfaillie [Thu, 19 Sep 2013 09:03:52 +0000 (11:03 +0200)]
docs: fix link to language bindings page
Reported on irc://irc.gnome.org/gtk+ by Rena.
https://bugzilla.gnome.org/show_bug.cgi?id=731377
Matthias Clasen [Thu, 12 Jun 2014 01:55:15 +0000 (21:55 -0400)]
Drop GDK_MULTIHEAD_SAFE
We don't support multiple screens anymore, so there is no need
for marking API as multihead safe any longer.
Matthias Clasen [Wed, 11 Jun 2014 23:38:22 +0000 (19:38 -0400)]
Deprecate outside-border style properties
These should just be replaced by CSS margins, etc.
Matthias Clasen [Wed, 11 Jun 2014 23:06:36 +0000 (19:06 -0400)]
GtkButton: Don't use a non-zero border by default
The non-zero default default-border was causing buttons to shrink as
the focus moves around them. Themes which want a default-border should
define it explicitly.
Carlos Garnacho [Wed, 11 Jun 2014 21:18:34 +0000 (23:18 +0200)]
treeview: Check that :row-activated is only emitted on GDK_BUTTON_PRIMARY
It turned out not all code was fully prepared to handle multiple buttons,
this avoids respawning https://bugzilla.gnome.org/show_bug.cgi?id=731020.
Carlos Garnacho [Wed, 11 Jun 2014 21:01:31 +0000 (23:01 +0200)]
treeview: Make row area multipress gesture react to all buttons
The code is actually prepared for that, the gesture was initially limited
to only handling GDK_BUTTON_PRIMARY because it only used to handle row
activation.
Carlos Garnacho [Wed, 11 Jun 2014 14:39:19 +0000 (16:39 +0200)]
treeview: Remove unused variables from priv struct
These variables were last used before moving row activation to being
managed by a gesture.
Carlos Garnacho [Wed, 11 Jun 2014 14:29:52 +0000 (16:29 +0200)]
treeview: Move all button press/release management to the multipress gesture
The multipress gesture on the bin window now also does all the business related
to row selection. As row selection and activation can't be easily decoupled, this
fixes certain problems around ::row-activated being emitted on NULL paths.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=731455 and
https://bugzilla.gnome.org/show_bug.cgi?id=731018
Carlos Garnacho [Wed, 11 Jun 2014 14:16:16 +0000 (16:16 +0200)]
treeview: Use drag gesture for rubberband selection/DnD
This gesture acts only on events from the bin window, and checks that
either the pressed row is draggable, or the conditions for rubberband
selection apply.
Carlos Garnacho [Wed, 11 Jun 2014 13:52:28 +0000 (15:52 +0200)]
treeview: Use gestures for column dragging/resizing
A multipress gesture takes care of autosizing on double click, and
a drag gesture is used for both column dragging/resizing (only one
can happen at a time).
Carlos Garnacho [Wed, 11 Jun 2014 12:37:18 +0000 (14:37 +0200)]
treeviewcolumn: Avoid a device position query
This happens in an event handler, and the button event should be
expected to have the right coordinates on the event window already.
Carlos Garnacho [Wed, 11 Jun 2014 15:34:23 +0000 (17:34 +0200)]
gesturesingle: Ensure the current button stays set until after the touch/button release
This makes gtk_gesture_get_current_button() work properly on GtkGesture::end, and signals
spawn from there on subclasses.
Matthias Clasen [Wed, 11 Jun 2014 13:33:30 +0000 (09:33 -0400)]
GtkPaned: Make sure the raise the handle window above children
We need to show child windows and handle in the right order,
otherwise the input-only handle window ends up under the children
where it is useless.
Matthias Clasen [Wed, 11 Jun 2014 04:01:50 +0000 (00:01 -0400)]
GtkTooltip: Ignore shadow when finding widgets
When placing tooltips, the csd shadow will get 'pushed up' and
may end up underneath the pointer. We don't want this to cause
the tooltip to be hidden, because that leads to flickering, so
ignore the shadow when finding the widget under the pointer.
Matthias Clasen [Wed, 11 Jun 2014 03:58:27 +0000 (23:58 -0400)]
csd: Fix non-resizable windows
For csd override-redirect windows, we don't set up resize handles,
but we were not ignoring the margin in all places, causing some
size calculations to go wrong.
Matthias Clasen [Wed, 11 Jun 2014 03:51:48 +0000 (23:51 -0400)]
Don't mention no longer existing widgets in the docs
GtkText, GtkList and GtkCList don't exist anymore.
Benjamin Otte [Tue, 10 Jun 2014 23:16:48 +0000 (01:16 +0200)]
stylecontext: Get rid of StyleData struct
It's now just a GtkCssComputedValues + refcount. And
GtkCssComputedValues has its own refcount, so use that one instead.
Benjamin Otte [Tue, 10 Jun 2014 22:30:30 +0000 (00:30 +0200)]
stylecontext: Move property cache
... from per style data to only existing once per style context. This is
technically an API break because it no longer allows getting different
style properties between save()/restore() pairs, but I don't think this
was ever intended to work that way, as the style property API was to be
used and is used via gtk_widget_get_style().
And it simplifies code a lot.
Benjamin Otte [Tue, 10 Jun 2014 22:30:02 +0000 (00:30 +0200)]
docs: Remove unused variable
Benjamin Otte [Tue, 10 Jun 2014 22:29:00 +0000 (00:29 +0200)]
testsuite: Add missing errors file
The file was forgotten in
98954bd1d1e27e2e8b5181af1752a9e8e107c74c and
caused test failure. Oops.
Benjamin Otte [Tue, 10 Jun 2014 18:18:37 +0000 (20:18 +0200)]
stylecontext: Remove state from _peek_style_property()
It evaluates to "current state" in all cases, so no need to special case
it.
Matthias Clasen [Tue, 10 Jun 2014 22:47:49 +0000 (18:47 -0400)]
gtk3-demo: Use monospace font for source code
Robert Ancell [Mon, 9 Jun 2014 02:17:39 +0000 (14:17 +1200)]
GdkDisplay: Remove unused GdkKeyboardGrabInfo struct
I can't find anything that uses this struct and it seems to be replaced by GdkDeviceGrabInfo
Benjamin Otte [Tue, 10 Jun 2014 13:57:57 +0000 (15:57 +0200)]
css: Fix uninitializaed variable
Matthias Clasen [Tue, 10 Jun 2014 12:53:31 +0000 (08:53 -0400)]
inspector: Add combobox popups to the tree
Matthias Clasen [Tue, 10 Jun 2014 12:47:27 +0000 (08:47 -0400)]
GtkComboBox: Add private api to get the popup
This will be used to make the popup appear in the inspector.
Matthias Clasen [Tue, 10 Jun 2014 12:32:44 +0000 (08:32 -0400)]
inspector: Add submenus to the tree
Benjamin Otte [Tue, 10 Jun 2014 11:45:15 +0000 (13:45 +0200)]
menuitem: Use .arrow style class for submenu indicators
As requested by the Adwaita guys.
Benjamin Otte [Tue, 10 Jun 2014 11:45:06 +0000 (13:45 +0200)]
treeview: Remove unused variable
Benjamin Otte [Tue, 10 Jun 2014 11:44:25 +0000 (13:44 +0200)]
viewport: Remove unused variable
Benjamin Otte [Tue, 10 Jun 2014 11:43:35 +0000 (13:43 +0200)]
cellrenderertoggle: Remove copy/paste leftovers
Introduced in
2d88a3ae300d6e1c8faa7391bbab9746f2131092
Matthias Clasen [Tue, 10 Jun 2014 01:27:26 +0000 (21:27 -0400)]
docs: Add GtkActionBar to the type list
Without this, we don't get object hierarchy, among other things.
Matthias Clasen [Tue, 10 Jun 2014 01:09:40 +0000 (21:09 -0400)]
Add GtkActionBar and GtkSearchBar to visual index
These were missing.
Benjamin Otte [Mon, 9 Jun 2014 23:17:00 +0000 (01:17 +0200)]
a11y: Remove an outdated comment
Benjamin Otte [Mon, 9 Jun 2014 23:06:57 +0000 (01:06 +0200)]
testsuite: Add a test for recent fix
Benjamin Otte [Mon, 9 Jun 2014 23:04:55 +0000 (01:04 +0200)]
css: Parse text-shadow values properly
We used to accept the same syntax for text-shadow and icon-shadow as
we accept for box-shadow. However, box-shadow does accept a spread and
the inset keyword while the others should not.
Joanmarie Diggs [Mon, 9 Jun 2014 22:31:19 +0000 (18:31 -0400)]
GtkEntryAccessible: Emit signal after insertion
The signal needs to be emitted after the text insertion as at-spi gets
the text to compute the inserted text due to the AtkText::insert-text
signal not containing it.
Also adjust position to reflect changes to the offsets.
https://bugzilla.gnome.org/show_bug.cgi?id=731429
Matthias Clasen [Fri, 6 Jun 2014 22:00:57 +0000 (18:00 -0400)]
Add some theming for csd popups
Not attempt to make this look good, just to demonstrate
that themes can in fact do it.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Sat, 7 Jun 2014 01:33:36 +0000 (21:33 -0400)]
Request csd for tooltips
Use the new private GtkWindow api to request
client-side decorations for tooltips.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 21:15:18 +0000 (17:15 -0400)]
GtkTooltip: take csd shadows into account for placement
When placing tooltips, we don't want the shadow to influence
our choice.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 21:05:21 +0000 (17:05 -0400)]
GtkTooltip: remove hardcoded tooltip drawing
This is old code from dating back many years. Nowadays, we can
just use css drawing and csd windows to achieve much the same
effect.
Themes will need some adjustment for this change.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Sat, 7 Jun 2014 01:30:55 +0000 (21:30 -0400)]
Request csd for menus
Use the new private GtkWindow api to request
client-side decorations for menus.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 23:06:15 +0000 (19:06 -0400)]
GtkMenu: Add a separate style class to the toplevel of menus
This is necessary in order to use .window-frame.csd.popup for
styling csd menus.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 22:00:36 +0000 (18:00 -0400)]
GtkMenu: take csd shadows into account for placement
When placing menus, we don't want the shadow to influence
our choice.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 21:59:38 +0000 (17:59 -0400)]
Allow csd for override-redirect windows
This commit makes it possible to use client-side decorations for
override-redirect windows by calling _gtk_window_request_csd()
before realizing the window. Since the wm won't do interactive
resizing for us in this case anyway, don't bother creating
the border windows we use for this purpose on regular toplevels.
To make this accessible to themes, we set a "csd" style class
on client-side decorated windows. With this, .window-frame.csd.menu
can be used to define the shadow for csd menus, and .menu can be
used to define a border for menus under non-composited wms.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 21:53:50 +0000 (17:53 -0400)]
Add a csd style class
This will be used for client-side decorated windows.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Mon, 9 Jun 2014 17:51:58 +0000 (13:51 -0400)]
GtkViewport: Don't do silly things in a setter
Just queue a resize instead of fiddling with the size allocation.
Matthias Clasen [Mon, 9 Jun 2014 17:42:07 +0000 (13:42 -0400)]
Mark GtkStyleContext::direction as deprecated
The setter was deprecated a while ago, do the same for the property.
Matthias Clasen [Mon, 9 Jun 2014 17:39:38 +0000 (13:39 -0400)]
Mark GtkContainer::resize-mode as deprecated
The setter was deprecated a while ago, do the same for the property.
Matthias Clasen [Mon, 9 Jun 2014 16:47:45 +0000 (12:47 -0400)]
Add a test for property notification
This tests just a few basic things for now. Mainly, that we don't
emit redundant notifications for enum, flags, int and boolean
properties. It also checks that we do emit the expected notifications
when the value actually changes. This is checked for string, double
and float properties as well.
There is a large number of exceptions in the test, and a lot more
checks that could be done. One class of exceptions is all the places
where we have -set booleans to go along with another property. We
should have a dedicated test for these pairs. Another class of
exceptions is where naked objects created by g_object_new () just
don't have the full functionality - e.g. a tree selection without
a tree view does not work very well. We set up the instance object
better for these situations.
Matthias Clasen [Mon, 9 Jun 2014 15:51:12 +0000 (11:51 -0400)]
GtkVolumeButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:50:55 +0000 (11:50 -0400)]
GtkViewport: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:50:22 +0000 (11:50 -0400)]
GtkTreeViewColumn: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:50:05 +0000 (11:50 -0400)]
GtkTreeView: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:49:45 +0000 (11:49 -0400)]
GtkTreeSelection: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:49:22 +0000 (11:49 -0400)]
GtkToolPalette: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:49:01 +0000 (11:49 -0400)]
GtkToolItemGroup: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:48:40 +0000 (11:48 -0400)]
GtkToolbar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:48:24 +0000 (11:48 -0400)]
GtkTextView: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:48:09 +0000 (11:48 -0400)]
GtkSwitch: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:44:22 +0000 (09:44 -0400)]
GtkToolItem: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:44:09 +0000 (09:44 -0400)]
GtkToolButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:43:49 +0000 (09:43 -0400)]
GtkToggleToolButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:42:05 +0000 (09:42 -0400)]
GtkStyleContext: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:41:48 +0000 (09:41 -0400)]
GtkStatusIcon: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:41:26 +0000 (09:41 -0400)]
GtkSpinner: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:41:09 +0000 (09:41 -0400)]
GtkSpinButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:40:55 +0000 (09:40 -0400)]
GtkSizeGroup: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:40:06 +0000 (09:40 -0400)]
GtkSeparatorToolItem: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:39:53 +0000 (09:39 -0400)]
GtkSearchBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:36:47 +0000 (09:36 -0400)]
GtkSearchBar: Handle lack of an entry
We were not dealing with the possibility of priv->entry being
NULL in all places.
Matthias Clasen [Mon, 9 Jun 2014 13:28:39 +0000 (09:28 -0400)]
GtkSeparator: Explicitly notify orientation
Matthias Clasen [Mon, 9 Jun 2014 13:27:07 +0000 (09:27 -0400)]
GtkScrolledWindow: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:25:19 +0000 (09:25 -0400)]
GtkScrollable: Use G_PARAM_EXPLICIT_NOTIFY
Implementors will have to be adjusted.
Matthias Clasen [Mon, 9 Jun 2014 13:22:05 +0000 (09:22 -0400)]
GtkScaleButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:21:50 +0000 (09:21 -0400)]
GtkScale: Use G_PARAM_EXPLICIT_NOTIFY